package com.probox.common.entity.domain.order.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.probox.common.core.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

@Data
@ApiModel("售后参数")
public class PostSaleQuery implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "售后列表查询（0处理中/1已处理）")
    private String queryStatus;

    @ApiModelProperty(value = "售后ID(同意处理时，必传)")
    private Long serviceUid;

    /** 订单ID */
    @Excel(name = "订单ID")
    @ApiModelProperty(value = "订单ID(订单ID)")
    private Long orderUid;

    /** 订单编号 */
    @Excel(name = "订单编号")
    @ApiModelProperty(value = "订单编号(订单编号)")
    private String orderNo;

    /** 订单明细 */
    @Excel(name = "订单明细")
    @ApiModelProperty(value = "订单明细(必传)")
    private Long itemUid;

    /** 供应商ID */
    @Excel(name = "供应商ID")
    private Long supplierUid;

    /** 供应商名称 */
    @Excel(name = "供应商名称")
    private String supplierName;

    /** 售后类型(refund 退款,return 退款退货,change更换) */
    @Excel(name = "售后类型(refund 退款,return 退款退货,change更换)")
    @ApiModelProperty(value = "售后类型(refund 退款,return 退款退货,change更换)")
    private String serviceType;

    /** 售后原因 根据类型选择 */
    @Excel(name = "售后原因 根据类型选择")
    @ApiModelProperty(value = "售后原因 根据类型选择 ")
    private String serviceReason;

    /** 售货数量 */
    @Excel(name = "售货数量")
    private Integer serviceNumber;

    /** 售货金额 */
    @Excel(name = "售货金额")
    private Long serviceAmount;

    /** 余额退款（后台可修改，现金退款+余额退款之和不能大于售后金额） */
    @Excel(name = "余额退款" , readConverterExp = "后台可修改，现金退款+余额退款之和不能大于售后金额")
    @ApiModelProperty(value = "余额退款(后台可修改，现金退款+余额退款之和不能大于售后金额)")
    private Long serviceBalance;

    /** 现金退款（后台可修改，现金退款+余额退款之和不能大于售后金额） */
    @Excel(name = "现金退款" , readConverterExp = "后台可修改，现金退款+余额退款之和不能大于售后金额")
    @ApiModelProperty(value = "现金退款(后台可修改，现金退款+余额退款之和不能大于售后金额)")
    private Long serviceCash;

    /** 图片凭证 */
    @Excel(name = "图片凭证")
    @ApiModelProperty(value = "图片凭证(图片凭证)")
    private String proofImages;

    /** 凭证描述 */
    @Excel(name = "凭证描述")
    @ApiModelProperty(value = "凭证描述(凭证描述)")
    private String proofDesc;

    /** 售后状态(0取消售后,1申请待处理,2处理中,3拒绝售后,4同意售后,5买家已退货,商家待收货,6商家拒绝收货,待买家处理,7商家已发货,待买家收货,8售后成功) */
    @Excel(name = "售后状态(0取消售后,1申请待处理,2处理中,3拒绝售后,4同意售后,,5售后完成)")
    @ApiModelProperty(value = "售后状态(0取消售后,1申请待处理,2处理中,3拒绝售后,4同意售后,,5售后完成)")
    private String dataStatus;

    /** 申请人ID */
    @Excel(name = "申请人ID")
    private Long applyUid;

    /**  申请人昵称 */
    @Excel(name = " 申请人昵称")
    private String applyNickName;

    /** 联系电话 */
    @Excel(name = "联系电话")
    @ApiModelProperty(value = "联系电话(联系电话)")
    private String applyPhone;

    /** 申请时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "申请时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date applyTime;

    /** 客户收货地址 */
    @Excel(name = "客户收货地址")
    @ApiModelProperty(value = "客户收货地址(客户收货地址)")
    private Long customerAddressUid;

    /** 商家收货地址 */
    @Excel(name = "商家收货地址")
    @ApiModelProperty(value = "商家收货地址(商家收货地址)")
    private Long supplierAddressUid;

    /** 处理备注 */
    @Excel(name = "处理备注")
    @ApiModelProperty(value = "处理备注(处理备注)")
    private String remark;

    @ApiModelProperty(value = "快递单号(用户退换货，添加单号必传)")
    private String logisticsNo;

    /** 修改人 */
    @Excel(name = "修改人")
    private Long updateUser;

    /** 修改人名称 */
    @Excel(name = "修改人名称")
    private String updateName;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "修改时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;



    /** 平台ID */
    private Long platformUid;
}
